/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package presentacion.utilidad.maquetado;

import java.io.File;
import java.net.URL;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import logica.CapaLogica;
import presentacion.CapaPresentacion;
/**
 *
 * @author Rafael
 */
public final class Icono {

    public static final Icon ICONO_16_ACEPTAR =
            icon("accept.png");
    public static final Icon ICONO_16_CANCELAR =
            icon("cancel.png");
    public static final Icon ICONO_16_CONFIGURACION =
            icon("settings.png");

    public static final Icon ICONO_16_BUSCAR =
            icon("search.png");

    public static final Icon ICONO_16_ANTERIOR =
            icon("go_previous.png");
    public static final Icon ICONO_16_SIGUIENTE =
            icon("go_next.png");

    public static final Icon ICONO_16_IZQUIERDA =
            icon("left.png");
    public static final Icon ICONO_16_DERECHA =
            icon("right.png");

    public static final Icon ICONO_16_AGREGAR_USUARIO =
            icon("add_user.png");
    public static final Icon ICONO_16_AGREGAR =
            icon("add.png");
    public static final Icon ICONO_16_QUITAR =
            icon("remove.png");

    public static final Icon ICONO_16_IMPRIMIR =
            icon("print.png");

    private static Icon icon(String path) {
        //Se recupera el archivo del directorio donde se ecuentra el jar, se normaliza el espacio
        String fileName = new File(CapaPresentacion.class.
                getProtectionDomain().getCodeSource().getLocation().getPath()).
                getParent().replaceAll("%20", " ");

        fileName = CapaLogica.reemplazarUnaBarraInvertidaPorDosBarrasInvertidas(
                fileName + "\\iconos\\size16x16\\" + path);
        
        if (!(new File(fileName)).exists()) {
            System.err.println("No se puede abrir el ícono: " + path);
            return null;
        }

        return new ImageIcon(fileName);
    }
}
